Bubble Sort (泡沫排序)是一種簡單的排序演算法。
它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。
走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
Bubble Sort (泡沫排序)可以原地排序。盡管這個演算法是最簡單瞭解和實作的排序演算法之一,但它對於包含大量的元素的數列排序是很沒有效率的。
泡沫排序演算法的運作如下:
例子:
public class BubbleSortExample {
static void bubbleSort(int[] arr) {
int n = arr.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if(arr[j-1] > arr[j]){
//交換元素
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
}
}
public static void main(String[] args) {
int arr[] ={3,60,35,2,45,320,5};
System.out.println("原來的次序");
for(int i=0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
bubbleSort(arr);//利用泡沫排序
System.out.println("使用泡沫排序");
for(int i=0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
}
}